package cc.rengu.redp.bizimpl.upmp.service;

import cc.rengu.igas.bomp.facade.BompMchntInspectService;
import cc.rengu.igas.bomp.facade.bean.MchntInspectTaskBean;
import cc.rengu.igas.bomp.facade.bean.NeedInspectMchntInfoBean;
import cc.rengu.redp.bizimpl.upmp.domain.InspectTaskDetail;
import cc.rengu.redp.bizimpl.upmp.domain.InspectTaskInfo;
import cc.rengu.redp.bizimpl.upmp.vo.OperationResult;
import cc.rengu.redp.bizimpl.upmp.vo.UpmpUserInfoVO;
import cc.rengu.redp.common.domain.QueryRequest;
import cc.rengu.redp.common.exception.RedpException;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import org.springframework.scheduling.annotation.Async;

import javax.servlet.http.HttpServletRequest;
import java.util.List;

/**
* @author 刘玉亮.LL
*/
    public interface IInspectTaskInfoService extends IService<InspectTaskInfo> {

    @Async
    void saveData(InspectTaskInfo inspectTaskInfo, List<InspectTaskDetail> inspectTaskDetails, HttpServletRequest request, String saveFlag);

    IPage<MchntInspectTaskBean> findPageFromBomp(HttpServletRequest request, QueryRequest queryRequest, UpmpUserInfoVO user, BompMchntInspectService mchntInspectService, String traceNo) throws RedpException;

    IPage<NeedInspectMchntInfoBean> needInspectMchntListQuery(HttpServletRequest request, QueryRequest queryRequest, UpmpUserInfoVO user, BompMchntInspectService mchntInspectService, String traceNo) throws RedpException;

    List<NeedInspectMchntInfoBean> allNeedInspectMchntListQuery(HttpServletRequest request, UpmpUserInfoVO user, BompMchntInspectService mchntInspectService, String traceNo);

    OperationResult mchntInspectNotice(String inspectTaskNo, String traceNo, BompMchntInspectService mchntInspectService,String instId);

    InspectTaskInfo selectByinstIdAndinspectTaskNo(String instId, String inspectTaskNo);
}
